EN FR
EN FR
CORSE - 2015


Section: New Software and Platforms

LLVM plugins

Work has been started on multiple plugins for the LLVM compiler framework that implement the code optimization that have been elaborated by the team. While being work in progress this already provides us with crucial information for program analysis such as data-dependencies.

  • Polly pointer disambiguation (publicly available): Status: Published. Description: A llvm-Polly patch that generates versioned SCoP, where the optimized version is guarded by run-time tests to validate that there are no hazardous aliasing.

  • More on pointer disambiguation (to STMicroelectronics): Status: Implemented. Allows the use of malloc identifiers to quickly evaluate possible aliasing at run-time.

  • Dynamic-dependence graph (to STMicroelectronics): Status: Under development. The run-time process is close to completion. Requires to treat function calls as sub-loops to allow optimization of recursive functions. The static analysis is capable of reading the trace file. The next step is to use a memory model to identify code transformations that would have better memory locality.